Skip to content

[Feat] 온보딩/약관동의 여부 조회 API 구현#232

Merged
jeong1112 merged 4 commits intodevelopfrom
feat/#231-onboarding-term
Apr 9, 2026
Merged

[Feat] 온보딩/약관동의 여부 조회 API 구현#232
jeong1112 merged 4 commits intodevelopfrom
feat/#231-onboarding-term

Conversation

@jeong1112
Copy link
Copy Markdown
Collaborator

@jeong1112 jeong1112 commented Apr 9, 2026

Related issue 🛠

Work Description 📝

  • 온보딩/약관동의 여부를 내려주는 API를 구현했습니다.
  • 해당 API에서는 온보딩이 완료되지 않은 회원의 경우 Filter를 거치지 않고 onboardingRequired : true를 반환해야 하므로 Filter 검증을 통과하도록 했습니다.

ScreenShots 📷

To Reviewers 📢

Summary by CodeRabbit

새로운 기능

  • 사용자의 온보딩 완료 여부 및 약관동의 상태를 조회하는 새로운 전용 API 엔드포인트가 추가되었습니다. 이를 통해 회원가입 후 필요한 절차 완료 상태를 간편하게 확인할 수 있습니다.

@jeong1112 jeong1112 requested review from eraser502 and hyomee2 and removed request for hyomee2 April 9, 2026 06:13
@jeong1112 jeong1112 self-assigned this Apr 9, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 9, 2026

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

온보딩 및 약관동의 여부 조회 API를 구현합니다. 새로운 엔드포인트를 추가하고 전담 DTO를 생성하며, 기존 상태 응답에서 관련 필드를 제거하고 서비스 로직을 분리합니다. 온보딩 필터의 허용 경로에 새 엔드포인트를 등록합니다.

Changes

Cohort / File(s) Summary
컨트롤러 및 응답 DTO
src/main/java/org/sopt/kareer/domain/member/controller/MemberController.java, src/main/java/org/sopt/kareer/domain/member/dto/response/MemberCompletionResponse.java
새로운 GET /api/v1/members/completion 엔드포인트를 추가하고, onboardingRequiredagreeTerm 필드를 포함한 MemberCompletionResponse 레코드 DTO를 생성합니다.
서비스 레이어
src/main/java/org/sopt/kareer/domain/member/service/MemberService.java
getCompletion(Long memberId) 메서드를 추가하여 온보딩/약관동의 상태를 계산하고, getMemberStatus(Long memberId)에서 해당 로직을 제거합니다.
기존 응답 DTO 수정
src/main/java/org/sopt/kareer/domain/member/dto/response/MemberStatusResponse.java
onboardingRequiredagreedTerm 필드를 제거하고 from() 팩토리 메서드 서명을 간소화합니다.
설정 및 보안 필터
src/main/java/org/sopt/kareer/global/config/swagger/SwaggerResponseDescription.java, src/main/java/org/sopt/kareer/global/security/filter/OnboardingRestrictionFilter.java
Swagger에 GET_COMPLETION 오류 코드를 추가하고, 온보딩 제한 필터의 허용 경로에 새 엔드포인트를 포함시킵니다.

Sequence Diagram(s)

sequenceDiagram
    actor Client
    participant Controller as MemberController
    participant Service as MemberService
    participant Repository as Member<br/>Repository
    participant VisaRepo as MemberVisa<br/>Repository
    
    Client->>Controller: GET /api/v1/members/completion<br/>(Authentication: memberId)
    Controller->>Service: getCompletion(memberId)
    Service->>Repository: findById(memberId)
    Repository-->>Service: Member 객체
    Service->>VisaRepo: findActiveVisaByMemberId(memberId)
    VisaRepo-->>Service: MemberVisa 객체
    
    Note over Service: onboardingRequired &<br/>agreeTerm 계산
    Service-->>Service: MemberCompletionResponse 생성
    Service-->>Controller: MemberCompletionResponse
    Controller-->>Client: BaseResponse<br/>(HTTP 200)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested labels

✨ Feature, 🔨 Refactor

Suggested reviewers

  • eraser502
  • hyomee2

Poem

🐰 새로운 끝점이 피어나고,
온보딩 상태를 확인하네!
필터에 경로 추가되어,
약관동의 여부도 밝혀지고,
깔끔한 분리로 마무리! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 풀 리퀘스트 제목이 온보딩 및 약관동의 여부 조회 API 구현이라는 주요 변경사항을 명확하게 요약하고 있습니다.
Linked Issues check ✅ Passed 인증된 사용자의 온보딩 및 약관동의 여부를 반환하는 API가 완전히 구현되었으며, 모든 요구사항이 충족되었습니다.
Out of Scope Changes check ✅ Passed 모든 변경사항이 온보딩/약관동의 여부 조회 API 구현 요구사항과 직접 관련되어 있으며, 범위를 벗어난 변경은 없습니다.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/#231-onboarding-term

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jeong1112 jeong1112 requested a review from hyomee2 April 9, 2026 06:13
@jeong1112 jeong1112 merged commit 797422f into develop Apr 9, 2026
1 of 2 checks passed
@jeong1112 jeong1112 deleted the feat/#231-onboarding-term branch April 9, 2026 06:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] 온보딩 여부, 약관 동의 여부 조회 API 구현

1 participant